package com.salelogistics.system.api.domain;

import com.salelogistics.common.core.annotation.Excel;
import com.salelogistics.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 材料对象 bas_material
 * 
 * @author ruoyi
 * @date 2023-07-10
 */
public class BasMaterial extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 材料编号 */
    private Long materialId;

    /** 材料名称 */
    @Excel(name = "材料名称")
    private String materialName;

    /** 助记码 */
    @Excel(name = "助记码")
    private String mnemonicCode;

    /** 财务科目编码 */
    @Excel(name = "财务科目编码")
    private String financialCode;

    /** 材料所属类别 */
    @Excel(name = "材料所属类别")
    private Long meterialTypeId;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    private String materialBrandName;

//    /** 等级 */
//    @Excel(name = "等级")
//    private String grade;

    /** 长度(cm) */
    @Excel(name = "长度(cm)")
    private BigDecimal length;

    /** 高度(cm) */
    @Excel(name = "高度(cm)")
    private BigDecimal high;

    /** 宽度(cm) */
    @Excel(name = "宽度(cm)")
    private BigDecimal width;

    /** 体积(cm) */
    @Excel(name = "体积(cm)")
    private BigDecimal volume;

    /** 委员会价 */
    @Excel(name = "委员会价")
    private String commissionPrice;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specifications;

    /** 钢材型号 */
    @Excel(name = "钢材型号")
    private String steelNumber;

    /** 数量单位 */
    @Excel(name = "数量单位")
    private String unit;

    /** 重量 */
    @Excel(name = "重量")
    private BigDecimal weight;

    /** 销售单价 */
    @Excel(name = "销售单价")
    private BigDecimal unitPrice;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal taxRate;

    /** 最近一次修改人 */
    private String editedBy;

    /** 最近一次修改时间 */
    private String editedTime;

    /** 启用状态 */
    @Excel(name = "启用状态")
    private Long status;

    /** 删除状态 */
    private Long isDeleted;

    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }
    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }
    public void setMnemonicCode(String mnemonicCode) 
    {
        this.mnemonicCode = mnemonicCode;
    }

    public String getMnemonicCode() 
    {
        return mnemonicCode;
    }
    public void setFinancialCode(String financialCode) 
    {
        this.financialCode = financialCode;
    }

    public String getFinancialCode() 
    {
        return financialCode;
    }
    public void setMeterialTypeId(Long meterialTypeId) 
    {
        this.meterialTypeId = meterialTypeId;
    }

    public Long getMeterialTypeId() 
    {
        return meterialTypeId;
    }
    public void setMaterialBrandName(String materialBrandName) 
    {
        this.materialBrandName = materialBrandName;
    }

    public String getMaterialBrandName() 
    {
        return materialBrandName;
    }

    public void setLength(BigDecimal length)
    {
        this.length = length;
    }

    public BigDecimal getLength() 
    {
        return length;
    }
    public void setHigh(BigDecimal high) 
    {
        this.high = high;
    }

    public BigDecimal getHigh() 
    {
        return high;
    }
    public void setWidth(BigDecimal width) 
    {
        this.width = width;
    }

    public BigDecimal getWidth() 
    {
        return width;
    }
    public void setVolume(BigDecimal volume) 
    {
        this.volume = volume;
    }

    public BigDecimal getVolume() 
    {
        return volume;
    }
    public void setCommissionPrice(String commissionPrice) 
    {
        this.commissionPrice = commissionPrice;
    }

    public String getCommissionPrice() 
    {
        return commissionPrice;
    }
    public void setSpecifications(String specifications)
    {
        this.specifications = specifications;
    }

    public String getSpecifications()
    {
        return specifications;
    }
    public void setSteelNumber(String steelNumber)
    {
        this.steelNumber = steelNumber;
    }

    public String getSteelNumber()
    {
        return steelNumber;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setTaxRate(BigDecimal taxRate) 
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate() 
    {
        return taxRate;
    }
    public void setEditedBy(String editedBy) 
    {
        this.editedBy = editedBy;
    }

    public String getEditedBy() 
    {
        return editedBy;
    }
    public void setEditedTime(String editedTime) 
    {
        this.editedTime = editedTime;
    }

    public String getEditedTime() 
    {
        return editedTime;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("materialId", getMaterialId())
            .append("materialName", getMaterialName())
            .append("mnemonicCode", getMnemonicCode())
            .append("financialCode", getFinancialCode())
            .append("meterialTypeId", getMeterialTypeId())
            .append("materialBrandName", getMaterialBrandName())
//            .append("grade", getGrade())
            .append("length", getLength())
            .append("high", getHigh())
            .append("width", getWidth())
            .append("volume", getVolume())
            .append("commissionPrice", getCommissionPrice())
            .append("specifications", getSpecifications())
            .append("steelNumber", getSteelNumber())
            .append("unit", getUnit())
            .append("weight", getWeight())
            .append("unitPrice", getUnitPrice())
            .append("taxRate", getTaxRate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("editedBy", getEditedBy())
            .append("editedTime", getEditedTime())
            .append("status", getStatus())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
